Python爬虫库xPath,BeautifulSoup,re,selenium的详细用法

您所在的位置:网站首页 beautifulsoap Python Python爬虫库xPath,BeautifulSoup,re,selenium的详细用法

Python爬虫库xPath,BeautifulSoup,re,selenium的详细用法

#Python爬虫库xPath,BeautifulSoup,re,selenium的详细用法| 来源: 网络整理| 查看: 265

项目代码展示

部分代码

项目部署方法, 已发GitHub, 项目地址github地址[1]

使用技术

python正则匹配

Beautifulsoup4库

xpath解析

正则匹配

和JavaScript语言匹配方式类似

使用前需导入包

有几种正则匹配的方法:match, search, compile, findall, finditer

re.match(a, b, c)

三个参数: 匹配的规则, 要匹配的字符串, 匹配方式

它是从字符串的第一个位置进行匹配如果满足使用方法可以返回它所在的索引位置, 如果不满足则返回

返回一个包含所有小组的字符串的元组, 使用方法可以返回一个包含对应值的元组(从1开始)

re.search(a, b, c)

也是三个参数, 与上面相同

获取元组方法也相同, 唯一的不同点就是, search不是从一开始进行匹配, 而是如果字符串中包含所要匹配的内容, 则返回第一个匹配成功的

注意只返回一个不是多个

re.sub(a, b, c, d, e)

执行操作

正则中的模式字符串

要替换的字符串, 也可以是一个函数

原始字符串

匹配后替换的最大次数, 默认是0表示全部匹配替换

匹配模式, 数字形式

re.compile(a, b)

用来编译正则表达式, 供match和search这两个函数使用

如果使用的是match方法 在获取匹配的字符时使用group方法获取参数可以省略不写也可以写0

group方法参数的数值与你所写的正则表达式元组数有关

start, end, span方法都是返回匹配字符在原字符串中所在的索引位置

findall(a, b, c, d)

参数分别表示: 正则表达式, 匹配的字符串, 指定匹配的起始位置, 结束位置

返回满足条件的所有子串, 列表的形式, 如不则返回空列表

如果由有元组则返回满足元组规则的字符 可进行遍历

finditer(a, b, c)

参数分别为: 匹配规则, 匹配的字符串, 匹配模式

和findall方法类似, 返回值使用迭代器方式返回使用方法

re.split(a, b, c, d)

按照匹配规则将匹配的字符串进行分隔以列表的形式返回

参数分别为: 匹配规则, 匹配字符, , 匹配模式

正则表达式修饰符

是匹配时大小写不敏感

做本地化识别

使. 匹配包括换行在内的所有字符

多行匹配影响^$

根据Unicode字符集解析字符. 这个标志影响 \w, \W, \b, \B.

该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解.

【Python正则表达式详解 (超详细, 看完必会!)[2]】

xPath方法

使用之前先安装好lxml库

xPath使用路径表达式在XML文档中进行导航

可以对本地的html文件进行解析也可以直接对html字符串进行解析

Xpath常用的规则

选取所有的子节点

选取当前节点下的子节点

选取当前节点的子孙节点

选取当前节点

选取当前节点的父节点

选取属性

本地展示

以下代码中用到该实例

第一种使用方法解析本地

第二种方法使用 方法

匹配所有的节点 使用规则匹配

匹配所有指定的节点使用

匹配所有的子节点将//换成

获取父节点属性值的方法

属性匹配可以使用的方法

文本获取两种方法 和 , 区别第一种直接获取文本, 第二种要获取换行时产生的特殊字符

属性获取使用获取

获取属性中包含多个值的情况 属性多值匹配 方法

多属性匹配, 使用and运算符 和contains方法搭配使用

xPath运算符

除号和取余特殊, 其他的都与基本运算符一直

除号使用 比如

取余则是 比如

还有表示并列和或者的 和

按序选择

xPath内置了100多种函数方法, 具体参考【xPath函数[3]】

按序

节点轴选择

获取当前节点所有子元素的节点的属性值

获取当前节点的指定元素的属性值

获取当前节点的所有的子元素

获取当前节点 的所有属性的属性值

获取当前节点所有子节点

获取当前元素所有文本子节点

获取当前元素的所有父辈为li元素的节点(包括当前元素)

xPath轴[4]xPath避坑指南[5]

xPath轴

演示代码

Beautifulsoup4使用

自动将输入文档转换为Unicode编码, 输出文档转换为utf-8编码

使用前安装

引入

获取内容

标签有两个重要的属性name, attrs

文本内容的获取有三种方法

方法返回一个迭代器

方法返回节点文本

方法返回节点文本

通过上下级获得对象

获取第一个li标签

获取元素的属性

使用 的方法, 但是只能获取到一个

使用的方法返回的时一个列表

如果使用两次 第一次获取的是匹配到的第一个元素, 第二次是匹配到的第二个元素

获取多个元素

find方法获取一个元素

find_all获取多个元素, 可以加上来达到限制个数的问题, 寻找子孙 ; 只找子

多层级查找 find_all返回的是一个列表 可以遍历该列表再次使用find方法或者find_all方法 进行元素的获取

通过指定的属性, 获取对象

id和class选择器, class比较特殊, 因为是关键字 在使用class时改成

使用函数作为参数, 返回元素

根据长度来判断

可以使用css选择器

select方法返回的都是一个列表

可以通过标签名查找, 属性查找, 标签+类名+id, 组合查找

Python中BeautifulSoup库的用法[6]python beautiful soup库的超详细用法[7]python 爬虫 提取文本之BeautifulSoup详细用法[8]

参考资料[1]

github地址:

[3]

xPath函数:http://www.w3school.com.cn/xpath/xpath_functions.asp

[4]

xPath轴:https://www.w3school.com.cn/xpath/xpath_axes.asp



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3